A large portion of the success of information technology (IT) can be attributed to a single computing paradigm: client-server computing. In client-server computing, a client is typically a low-cost computing device that enables users to perform computing tasks on a remote server. The server, on the other hand, is typically a costly computer that is capable of performing complex computational tasks. The advantage obtained by coupling the powerful computing ability of a server with the cost savings of multiple low-cost clients is the main reason behind the success of client-server computing.
Unfortunately, over time, the clients in most client-server architectures were replaced by costly workstations. While these workstations interacted with back-end applications, such as large, server-resident databases, they were not true “clients” at all. Rather, they were clients that also had to perform a great deal of local computing.
This trend in client-server computing diminished the main advantage of the client-server paradigm by requiring clients to have expensive hardware and software components.
Recently, the concept of an ultra-thin-client was introduced, which has lately been gaining widespread popularity. For example, an ultra-thin-client can include a monitor, a keyboard, a mouse, and a built-in smart card reader. Ultra-thin-clients provide users with seamless access to all the applications and utilities they normally use on their workstations or PCs. The actual computing, however, is performed on one or more user-interface (UI) servers.
Note that, the ultra-thin-client only needs enough memory and computing power to recognize keystrokes and mouse events and to display pixel data received from the UI-server. As a result, an ultra-thin-client frees the desktop system from having to maintain local applications and files. Moreover, in contrast to workstations, ultra-thin-clients do not have to be administered individually. Hence, system administration is drastically simplified. In addition, system administrators are freed from monotonous and error-prone tasks, such as loading software updates on dozens or hundreds of individual workstations.
In a parallel development, the rapid proliferation of broadband networks and the ever-increasing popularity of mobile computing have made it possible to remotely access corporate networks from customer sites, hotels, and airport kiosks.
Session mobility takes remote access to the next level: it allows users to access their files, their applications, and their work from virtually anywhere.
Today, session mobility is no longer a luxury—it is quickly becoming a business necessity. Furthermore, as corporations continue their relentless march towards globalization, they are requiring session mobility to work over increasingly larger distances.
Note that, an ultra-thin-client must have a low latency, i.e., the latency between the user's input and the system's response must be very small. Otherwise, the ultra-thin-client will have an abysmal performance.
Unfortunately, it is impossible to support low-latency session-mobility over large distances in an ultra-thin-client based architecture. Note that, if the distance between the ultra-thin-client and the server is large, the latency can be unacceptably large, which can render the ultra-thin-client useless.
Moreover, in such scenarios, the latency is mainly due to the propagation delay, which is a result of the finite velocity of light. Hence, in such scenarios, the propagation delay, and hence the latency, cannot be reduced by simply increasing the bandwidth.